package com.zhang.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhang.system.entity.Menu;


import java.util.List;
import java.util.Map;

/**
 * <p>
 * 权限菜单表表 服务类
 * </p>
 *
 * @author 创世神
 * @since 2023-07-06
 */
public interface IMenuService extends IService<Menu> {
    Long addMenu(Menu menu);

    /**
     * 获取全部菜单，树结构返回
     *
     * @return {@link List}
     */
    List<Menu> getAllMenusToTree();

    List<Menu> getMenuTree(List<Menu> menus);

    IPage getAllMenusByPageAndCondition(Integer pageNum, Integer pageSize, Map searchMenuDto);


    /**获取目录类型的权限
     * @return {@link List}<{@link Menu}>
     */
    List<Menu> getDirectoryPermissionByTree();
}
